YES(O(1),O(n^1)) We are left with following problem, upon which TcT provides the certificate YES(O(1),O(n^1)). Strict Trs: { rev(ls) -> r1(ls, empty()) , r1(empty(), a) -> a , r1(cons(x, k), a) -> r1(k, cons(x, a)) } Obligation: innermost runtime complexity Answer: YES(O(1),O(n^1)) We use the processor 'matrix interpretation of dimension 1' to orient following rules strictly. Trs: { rev(ls) -> r1(ls, empty()) } The induced complexity on above rules (modulo remaining rules) is YES(?,O(n^1)) . These rules are moved into the corresponding weak component(s). Sub-proof: ---------- TcT has computed the following constructor-based matrix interpretation satisfying not(EDA). [rev](x1) = [3] x1 + [3] [r1](x1, x2) = [2] x1 + [2] x2 + [0] [empty] = [0] [cons](x1, x2) = [1] x1 + [1] x2 + [0] This order satisfies the following ordering constraints: [rev(ls)] = [3] ls + [3] > [2] ls + [0] = [r1(ls, empty())] [r1(empty(), a)] = [2] a + [0] >= [1] a + [0] = [a] [r1(cons(x, k), a)] = [2] a + [2] x + [2] k + [0] >= [2] a + [2] x + [2] k + [0] = [r1(k, cons(x, a))] We return to the main proof. We are left with following problem, upon which TcT provides the certificate YES(O(1),O(n^1)). Strict Trs: { r1(empty(), a) -> a , r1(cons(x, k), a) -> r1(k, cons(x, a)) } Weak Trs: { rev(ls) -> r1(ls, empty()) } Obligation: innermost runtime complexity Answer: YES(O(1),O(n^1)) We use the processor 'matrix interpretation of dimension 1' to orient following rules strictly. Trs: { r1(empty(), a) -> a } The induced complexity on above rules (modulo remaining rules) is YES(?,O(n^1)) . These rules are moved into the corresponding weak component(s). Sub-proof: ---------- TcT has computed the following constructor-based matrix interpretation satisfying not(EDA). [rev](x1) = [3] x1 + [3] [r1](x1, x2) = [2] x1 + [2] x2 + [1] [empty] = [0] [cons](x1, x2) = [1] x1 + [1] x2 + [0] This order satisfies the following ordering constraints: [rev(ls)] = [3] ls + [3] > [2] ls + [1] = [r1(ls, empty())] [r1(empty(), a)] = [2] a + [1] > [1] a + [0] = [a] [r1(cons(x, k), a)] = [2] a + [2] x + [2] k + [1] >= [2] a + [2] x + [2] k + [1] = [r1(k, cons(x, a))] We return to the main proof. We are left with following problem, upon which TcT provides the certificate YES(O(1),O(n^1)). Strict Trs: { r1(cons(x, k), a) -> r1(k, cons(x, a)) } Weak Trs: { rev(ls) -> r1(ls, empty()) , r1(empty(), a) -> a } Obligation: innermost runtime complexity Answer: YES(O(1),O(n^1)) We use the processor 'matrix interpretation of dimension 1' to orient following rules strictly. Trs: { r1(cons(x, k), a) -> r1(k, cons(x, a)) } The induced complexity on above rules (modulo remaining rules) is YES(?,O(n^1)) . These rules are moved into the corresponding weak component(s). Sub-proof: ---------- TcT has computed the following constructor-based matrix interpretation satisfying not(EDA). [rev](x1) = [3] x1 + [3] [r1](x1, x2) = [2] x1 + [1] x2 + [0] [empty] = [3] [cons](x1, x2) = [1] x1 + [1] x2 + [2] This order satisfies the following ordering constraints: [rev(ls)] = [3] ls + [3] >= [2] ls + [3] = [r1(ls, empty())] [r1(empty(), a)] = [1] a + [6] > [1] a + [0] = [a] [r1(cons(x, k), a)] = [1] a + [2] x + [2] k + [4] > [1] a + [1] x + [2] k + [2] = [r1(k, cons(x, a))] We return to the main proof. We are left with following problem, upon which TcT provides the certificate YES(O(1),O(1)). Weak Trs: { rev(ls) -> r1(ls, empty()) , r1(empty(), a) -> a , r1(cons(x, k), a) -> r1(k, cons(x, a)) } Obligation: innermost runtime complexity Answer: YES(O(1),O(1)) Empty rules are trivially bounded Hurray, we answered YES(O(1),O(n^1))